package com.hb.core.pojo.project.order.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hb.core.pojo.JSONObjectProperty;
import com.hb.core.pojo.parent.MPCommonEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 订单商品相关
 *
 * @author zhongdl
 * @since 2021-12-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("trade_user_order_goods")
@ApiModel(value = "TradeUserOrderGoods对象", description = "")
public class UserOrderGoods extends MPCommonEntity {

    @ApiModelProperty(value = "订单表id")
    private Long orderId;

    @ApiModelProperty(value = "方案(包)信息ID")
    private Long sectionId;

    @ApiModelProperty(value = "企业id")
    private Long orgId;

    /**
     * 费用类型
     * BID_PRO(1, "投标保证金"),
     * PER_PRO(2, "履约保证金"),
     * SIGN_UP(3, "报名费"),
     * DOC_BOOK(4, "标书管理费"),
     * SYS_USE(5, "系统使用费");
     *
     * @see com.hb.core.pojo.enums.FeeTypeEnum
     */
    @ApiModelProperty(value = "费用类型")
    private Integer feeType;

    /**
     * 商品数量
     */
    @ApiModelProperty(value = "商品数量")
    private Integer goodTotal;

    /**
     * 商品Id
     */
    @ApiModelProperty(value = "商品Id")
    private Long goodId;

    /**
     * 商品单价
     * 如果该字段对应了系统表中的商品表(如果有的话)
     * 以该字段为最终价格为准
     */
    @ApiModelProperty(value = "商品单价")
    private BigDecimal goodPrice;

    /**
     * 其他扩展信息
     *
     * @ApiModelProperty(value = "投标人Id")
     * private Long bidderId;
     * @ApiModelProperty(value = "方案包ID")
     * private Long sectionId;
     * @ApiModelProperty(value = "项目ID")
     * private Long projectId;
     * @ApiModelProperty(value = "组织机构Id")
     * private Long orgId;
     * @ApiModelProperty(value = "招标文件id")
     * private Long fileId;
     */
    private JSONObjectProperty dataInfo;
}
